home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / MacMETH 3.2.4 / Examples / QuickDraw.DEF < prev    next >
Text File  |  1996-06-20  |  3KB  |  63 lines

  1. DEFINITION MODULE QuickDraw;
  2.  
  3.   FROM SYSTEM IMPORT ADDRESS, BYTE;
  4.  
  5.   TYPE
  6.     Ptr       = ADDRESS;
  7.     Handle    = POINTER TO ADDRESS;
  8.     VHSelect  = (V, H);
  9.     Point     = RECORD
  10.                   CASE :INTEGER OF
  11.                     0: v, h: INTEGER;
  12.                   | 1: vh:   ARRAY [V..H] OF INTEGER;
  13.                   END;
  14.                 END;
  15.     Rect      = RECORD
  16.                   CASE :INTEGER OF
  17.                     0: top, left, bottom, right: INTEGER;
  18.                   | 1: topLeft, botRight:        Point;
  19.                   END;
  20.                 END;
  21.     BitMap    = RECORD
  22.                   baseAddr: Ptr;
  23.                   rowBytes: INTEGER;
  24.                   bounds:   Rect;
  25.                 END;
  26.     Pattern   = ARRAY [0..7] OF BYTE;
  27.     StyleItem = (bold, italic, underline, outline, shadow, condense, extend);
  28.     Style     = SET OF StyleItem;
  29.     Bits16    = ARRAY [0..15] OF CARDINAL;
  30.     Cursor    = RECORD data, mask: Bits16; hotSpot: Point END;
  31.     GrafPtr   = POINTER TO GrafPort;
  32.     GrafPort  = RECORD
  33.                   device:                     INTEGER;
  34.                   portBits:                   BitMap;
  35.                   portRect:                   Rect;
  36.                   visRgn, clipRgn:            Handle;
  37.                   bkPat, fillPat:             Pattern;
  38.                   pnLoc, pnSize:              Point;
  39.                   pnMode:                     INTEGER;
  40.                   pnPat:                      Pattern;
  41.                   pnVis, txFont:              INTEGER;
  42.                   txFace:                     Style;
  43.                   txMode, txSize:             INTEGER;
  44.                   spExtra, fgColor, bkColor:  LONGINT;
  45.                   colrBit, patStretch:        INTEGER;
  46.                   picSave, rgnSave, polySave: Handle;
  47.                   grafProcs:                  Ptr;
  48.                 END;
  49.  
  50.   PROCEDURE GetPort(VAR port: GrafPtr); CODE 0A874H;
  51.   PROCEDURE SetPort(newPort: GrafPtr); CODE 0A873H;
  52.   PROCEDURE SetOrigin(h, v: INTEGER); CODE 0A878H;
  53.   PROCEDURE Random(): INTEGER; CODE 0A861H;
  54.   PROCEDURE SetRect(VAR r: Rect; left, top, right, bottom: INTEGER); CODE 0A8A7H;
  55.   PROCEDURE Pt2Rect(pt1, pt2: Point; VAR rect: Rect); CODE 0A8ACH;
  56.   PROCEDURE OffsetRect(VAR r: Rect; dh, dv: INTEGER);   CODE 0A8A8H;
  57.   PROCEDURE InsetRect(VAR r: Rect; dh, dv: INTEGER);    CODE 0A8A9H;
  58.   PROCEDURE PaintRect(VAR r: Rect); CODE 0A8A2H;
  59.   PROCEDURE EraseRect(VAR r: Rect); CODE 0A8A3H;
  60.   PROCEDURE InvertRect(VAR r: Rect); CODE 0A8A4H;
  61.  
  62. END QuickDraw.
  63.